package fachlogik;

import java.io.Serializable;
import java.util.Date;

public class Patient extends Person implements Serializable
{
	private String krankenkassa;
	private Angestellt hausarzt;
	private int id;
	
	public int getId()
	{
		return id;
	}

	public void setId(int id)
	{
		this.id = id;
	}

	@Override
	public String toString()
	{
		return  "Patient: " +super.getVorname() + " " + super.getName() + ", SVNR: " + super.getSvnr();
	}

	
	public Patient(String vorname, String name, Date gebdatum, String svnr, String krankenkassa) throws Exception
	{
		super(vorname, name, gebdatum, svnr);
		setKrankenkassa(krankenkassa);
	}
	
	
	public Patient(String vorname, String name, Date gebdatum, String svnr, String krankenkassa, Angestellt hausarzt)throws Exception
	{
		super(vorname, name, gebdatum, svnr);
		setKrankenkassa(krankenkassa);
		setHausarzt(hausarzt);
	}

	public Patient(int id, String vorname, String name, Date gebdatum, String svnr, String krankenkassa)throws Exception
	{
		super(vorname, name, gebdatum, svnr);
		setId(id);
		setKrankenkassa(krankenkassa);
		
	}
	public Patient()
	{
		super();
	}

	

	public String getKrankenkassa()
	{
		return krankenkassa;
	}

	public void setKrankenkassa(String krankenkassa)throws Exception
	{
		if(!krankenkassa.equals(null) && !krankenkassa.equals(""))
		{
		this.krankenkassa = krankenkassa;
		}
		else
		{
			throw new KrankenhausException("Krankenkassa muss einen Wert haben");
		}
	}

	public Angestellt getHausarzt()
	{
		return hausarzt;
	}

	public void setHausarzt(Angestellt hausarzt)throws Exception
	{
		if(!hausarzt.equals(null))
		{
		
			if(hausarzt.getId().startsWith("A"))
			{
				this.hausarzt = hausarzt;
			}
			else
			{
				throw new KrankenhausException("Ist kein Arzt");
			}
		}
		else
		{
			throw new KrankenhausException("Kein Hausarzt angegeben");
		}
	}
	
	
}
